package org.jeecg.modules.clubEventManagement.mapper;

import java.util.List;

import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.clubEventManagement.entity.ClubEventManagement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.clubEventManagement.entity.ClubEventManagementResult;
import org.jeecg.modules.clubEventManagement.entity.EventRegistrationNumEntity;
import org.jeecg.modules.communityInfluence.entity.CommunityInfluence;
import org.jeecg.modules.ruleOfInfluence.entity.RuleOfInfluence;

/**
 * @Description: 社团活动管理
 * @Author: jeecg-boot
 * @Date:   2020-07-20
 * @Version: V1.0
 */
public interface ClubEventManagementMapper extends BaseMapper<ClubEventManagement> {
    /**分页查询**/
    List<ClubEventManagementResult> getList(ClubEventManagementResult eventManagementResult);

    /**根据ID删除**/
    void removeById(String id);

    /**活动审核**/
    Boolean activityReview(ClubEventManagement clubEventManagement);

    /**获取社团影响力规则**/
    RuleOfInfluence getRuleOfInfluence();

    /**根据ID查询社团影响力**/
    CommunityInfluence getInfluenceInfo(String clubId);

    /**更新社团等级**/
    void updateLevel(String level);

    /**查询当天发布动态已经获取了多少影响力**/
    @SqlParser(filter = true)
    Integer getMostDayDynamic(@Param("clubId") String clubId, @Param("dateTime") String dateTime);

    /**更新社团影响力**/
    Boolean updateInfluence(CommunityInfluence communityInfluence);

    /**活动报名人数添加**/
    Boolean addNumberOfApplicants(EventRegistrationNumEntity form);
}
